Add batocera-bootstrap tooling for more configuration management options #12914
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I wrote this for the Knulli distribution initially, but have been using more devices that are natively supported in Batocera and desire the functionality across the board.
This is designed to be invoked manually, or during the postshare.sh process to start a newly formatted system with predetermined configurations.
If the postshare.sh script is used, the configurations will be applied on each boot.
This can make it such that your preferred wifi network will be reapplied on every boot.
So if you change networks as you travel, it would always reset to your /boot/bootstrap.batocera.conf. settings upon reboot.
Recommended usage is to place files directly on the root folder of the BATOCERA partition after flashing a new image and place bootstrap files in the root of that partition. (/boot mount when booted from Batocera drive)
Multiple files can be used to allow flexible application of settings. I personally have a basic set of preferences that I set for each particular class of device I have in my house, and then apply customized, "sensitive" settings individually per user. So the file list on the root of my boot partition on my device looks like this:
bootstrap.batocera.conf.common
bootstrap.batocera.conf.h700
bootstrap.batocera.conf.sensitive.skeeg
bootstrap.batocera.conf.sensitive.wifi
bootstrap.es_settings.cfg.common
bootstrap.es_settings.cfg.h700
bootstrap.es_settings.cfg.sensitive.skeeg
postshare.sh
While my kids would have a *sensitive.firstborn file in place of the skeeg ones, and I might place different values in a
bootstrap.batocera.conf.rpi5
file for a Raspberry Pi 5 that is more capable than the H700 and can support rewind on more systems, etc.Some examples can be found here: https://gist.github.com/Skeeg/9b5a68f0d18c2df0b589274ca534363c#file-batocera-bootstrapper-sh
With a postshare.sh example here: https://gist.github.com/Skeeg/9b5a68f0d18c2df0b589274ca534363c#file-postshare-sh-L1-L3